home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / pcl / src-16f.lha / compiler / mips / mips-regs.txt < prev    next >
Encoding:
Text File  |  1991-11-06  |  2.2 KB  |  61 lines

  1. Global Lisp Registers:
  2.     NULL - Wired NIL register.
  3.     CSP - Control stack pointer.
  4.     CONT - Continuation pointer.
  5.     NSP - Number stack pointer.
  6.     BSP - Binding stack pointer.
  7.     FLAGS - Special flags register.
  8.     ALLOC - Allocation pointer.
  9.     CODE - Current code object.
  10.  
  11. Linkage Registers:
  12.     NARGS - Number of arguments or values.
  13.     LEXENV - Lexical Environment being called.
  14.     OLDCONT - Old continuation pointer.
  15.     CNAME - Name of called function.
  16.     A0-A5 - First 6 arguments.
  17.     ARGS - Argument pointer.
  18.     LRA - Lisp Return Address.
  19.  
  20.  
  21.   Reg    CN  PR    C Usage        LN     Lisp Usage        GC
  22. ------------------------------------------------------------------------
  23.   R0    -   -    Wired Zero    ZERO    Wired Zero        N
  24.   R1    -   N    Assembler Temp    LIP    Lisp-Interior        Special
  25.   R2    v0  N   Results        NL0    Non-Lisp Reg        N
  26.   R3    v1  N    Static Link    NL1    Non-Lisp Reg        N
  27.   R4    a0  N    Integer Arg    NL2    Non-Lisp Reg        N
  28.   R5    a1  N    Integer Arg    NL3    Non-Lisp Reg        N
  29.   R6    a2  N    Integer Arg    NL4    Non-Lisp Reg        N
  30.   R7    a3  N    Integer Arg    NARGS    Arg Count        N
  31.   R8    t0  N    Temporary Reg    A0    Argument        Y
  32.   R9    t1  N    Temporary Reg    A1    Argument        Y
  33.   R10    t2  N    Temporary Reg    A2    Argument        Y
  34.   R11    t3  N    Temporary Reg    A3    Argument        Y
  35.   R12    t4  N    Temporary Reg    A4    Argument        Y
  36.   R13    t5  N    Temporary Reg    A5    Argument        Y
  37.   R14    t6  N    Temporary Reg    CNAME    Call Name        Y
  38.   R15    t7  N    Temporary Reg    LEXENV    Lexical Env        Y
  39.   R16    s0  Y    Saved Temp Reg    ARGS    Arg Pointer        Y
  40.   R17    s1  Y    Saved Temp Reg    OLDCONT    Old Continuation    Y
  41.   R18    s2  Y    Saved Temp Reg    LRA    Lisp Return Address    Y
  42.   R19    s3  Y    Saved Temp Reg    L0    Random Lisp Reg        Y
  43.   R20    s4  Y    Saved Temp Reg    NULL    Null / Nil Constant    Y
  44.   R21    s5  Y    Saved Temp Reg    BSP    Binding Stack Pointer    Special
  45.   R22    s6  Y    Saved Temp Reg    CONT    Current Continuation    Special
  46.   R23    s7  Y    Saved Temp Reg    CSP    Control Stack Pointer    Special
  47.   R24    t8  N    Temporary Reg    FLAGS    Flags register        N
  48.   R25   t9  N    Temporary Reg    ALLOC    Allocation Pointer    Special
  49.   R26    k0  -    (reserved)    -    Kernel Reg (reserved)    N
  50.   R27    k1  -    (reserved)    -    Kernel Reg (reserved)    N
  51.   R28    gp  -    Global Pointer    L1    Random Lisp Reg        Y
  52.   R29   sp  -    Stack Pointer    NSP    Number Stack Pointer    N
  53.   R30    s8  Y    Saved Temp Reg    CODE    Code Pointer        Y
  54.   R31    ra  N    Return Addr    L2    Random Lisp Reg        Y
  55.  
  56. Key:
  57.     CN == C/UNIX name
  58.     NL == Lisp name
  59.     PR == Preserved on C function call (callee saves)
  60.     GC == Considered as a root for GC
  61.